package main

import (
	_ "beegoProject/models/user"
	_ "beegoProject/routers"
	"fmt"
	"github.com/astaxie/beego"
	"github.com/astaxie/beego/orm"
	_ "github.com/go-sql-driver/mysql"
)

/*
9.2【实战】项目框架搭建
	1. bee new BeegoProject
	2. 拷贝 资料代码 - 内部办公静态页面 所有html页面拷贝到views
	3. 拷贝 js css images等文件和文件夹
	4. controllers/models/views 内创建文件夹 login user auth finance news cars echarts

9.3【登录模块】登录页面完善
	1. 定义 login_controller.go
	2. 拷贝login.html -> views/login/
	3. 路由
	4. html内修改 /static

9.4【登录模块】用户模型创建
9.5【登录模块】用户模型添加struct_tag
	1. 定义 user - user_controller.go
	2. 数据库内创建库 beegoProject
	3. 定义 conf -> mysql.conf


9.6【登录模块】迁移表到数据库
	1. main.go 增加 init 数据库连接
	2. 引入 _ "beegoProject/models/user"
	3. 创建 go run main.go orm syncdb -v
    4. 删除重新创建 go run main.go orm syncdb -force -v

9.7【登录模块】生成验证码
	1. go get github.com/mojocn/base64Captcha
	2. 定义 utils - get_captcha.go

*/

func init() {
	user := beego.AppConfig.DefaultString("mysql::Username", "root")
	pwd := beego.AppConfig.DefaultString("mysql::Password", "Ideal123")
	host := beego.AppConfig.DefaultString("mysql::Host", "127.0.0.1")
	port := beego.AppConfig.DefaultInt("mysql::Port", 3306)
	db := beego.AppConfig.DefaultString("mysql::DbName", "beegoProject")

	dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8mb4&parseTime=true&loc=PRC",
		user, pwd, host, port, db)

	orm.RegisterDriver("mysql", orm.DRMySQL)
	orm.RegisterDataBase("default", "mysql", dsn)

}

func main() {
	orm.RunCommand()
	beego.Run()
}
